package com.manage.func.activity.dao;

import java.util.List;

import com.manage.base.dao.IBaseDao;
import com.manage.func.activity.model.ActExpireBean;
import com.manage.func.activity.model.ActivityBean;
import com.manage.func.activity.model.ActivityVsUserBean;

public interface IActivityDao extends IBaseDao<ActivityBean> {

	/**
	 * 查询活动接口
	 * 
	 * @param queryBean
	 * @return
	 */
	List<ActivityBean> selectActivityList(ActivityBean bean);

	ActivityBean selectActivityById(ActivityBean bean);

	/**
	 * 插入活动接口
	 * 
	 * @param queryBean
	 * @return
	 */
	int insertActivity(ActivityBean queryBean);

	/**
	 * 查询活动列表接口
	 * 
	 * @param queryBean
	 * @return
	 */
	int deleteActivity(ActivityBean queryBean);

	/**
	 * 更新活动接口
	 * 
	 * @param queryBean
	 * @return
	 */
	int updateActivity(ActivityBean queryBean);

	/**
	 * 查询活动总数接口
	 * 
	 * @param queryBean
	 * @return
	 */
	int selectTotalCount(ActivityBean queryBean);

	/**
	 * 查询活动报名人员
	 * 
	 * @param bean
	 * @return
	 */
	List<ActivityVsUserBean> selectActivityUserList(ActivityBean bean);

	/**
	 * 查询活动报名人数接口
	 * 
	 * @param queryBean
	 * @return
	 */
	int selectActivityUserCount(ActivityBean queryBean);

	/**
	 * 查询未过期的活动
	 * 
	 * @return
	 */
	List<ActExpireBean> expireSelect();

	/**
	 * 更新活动的过期状态
	 * 
	 * @param activityId
	 * @return
	 */
	int expireUpdate(ActExpireBean actExpireBean);

	// 查询没有推送的任务
	List<ActivityBean> queryActListPushBean();

	// 更新活动推送状态
	void updateActPushStatus(long activityId);
}
